Resource packages are employed in applications to provide distributions, updates, and enhancements to data resources used in applications. Data can include strings or other data used in user interfaces, but can further include other types of application data. Such data may include elements that have variants intended for use in particular contexts. For example, a string resource may have variants in different languages; other dimensions of resource variation besides language may also be possible. Resource packages may assemble resources for one or more particular variants. In a language pack, for example, a resource in an en-US folder is applicable to English speaking users.
In many instances, only a subset of the application resources is appropriate for a given user. Developers do not have an efficient and automatic technique to partition application resources in order to limit the resources deployed to users, and provide a unified view at runtime of just the resources that are appropriate in that context.